package com.stone.util;

/**
 * @description: 网络工具类
 * @author: zoubaolu
 * @date: 2022年06月23日 9:37
 */
public class NetworkUtil {
    /**
     * 获取端口号
     *
     * @return int
     * @author: zoubaolu
     * @date: 2022/6/23 9:58
     */
    public static int getPort() {
        int port;
        int defaultPort = 9101;
//        Future<Integer> future = ThreadUtil.execAsync(() -> {
//            int inputPort;
//            System.out.println("请于5秒钟内输入端口号, （比如：9101、9102、9103），超过5秒将默认使用 " + defaultPort + "，端口号：");
//            Scanner scanner = new Scanner(System.in);
//            while (true) {
//                String strPort = scanner.nextLine();
//                if (!NumberUtil.isInteger(strPort)) {
//                    System.err.println("端口只能输入数字");
//                    continue;
//                }
//                inputPort = Convert.toInt(strPort);
//                if (inputPort < 1024 || inputPort > 40191) {
//                    System.err.println("端口只能输入1024~40191之间的数字");
//                    continue;
//                }
//                scanner.close();
//                break;
//            }
//            return inputPort;
//        });
//        try {
//            port = future.get(10, TimeUnit.SECONDS);
//        } catch (Exception e) {
//            port = defaultPort;
//        }
//        if (!NetUtil.isUsableLocalPort(port)) {
//            System.err.printf("端口%d被占用了，无法启动%n", port);
//            System.exit(1);
//        }
//        return port;
        return defaultPort;
    }
}
